<?php
	class dbAgendamento extends db{		
		public $tabela = 'agendamento';
		
		public function  __construct(){
			parent::__construct();
		}		
		
		public function inserirAgendamento($agendamento){			
 			$data = $agendamento->data;
			$campo = explode("/",$data);
			$dia = $campo[0];
			$mes = $campo[1];
			$ano = $campo[2];
			$data = $ano."-".$mes."-".$dia;
			
			if($agendamento->cod_agendamento){
 				$pre = $this->db->prepare("UPDATE `{$this->tabela}` 
 						SET cod_paciente=?,data=?,tipo=?,status=?,cod_funcionario=?
 							WHERE cod_agendamento = ?");
				$pre->bindParam(1, $agendamento->cod_paciente,PDO::PARAM_STR);
				$pre->bindParam(2, $data ,PDO::PARAM_STR);
				$pre->bindParam(3, $agendamento->tipo,PDO::PARAM_STR);
				$pre->bindParam(4, $agendamento->status,PDO::PARAM_STR);
				$pre->bindParam(5, $agendamento->cod_funcionario,PDO::PARAM_STR);
				$pre->bindParam(6, $agendamento->cod_agendamento,PDO::PARAM_STR);
				$pre->execute();
 			}else{
 				$pre = $this->db->prepare("INSERT INTO `{$this->tabela}` VALUES(null,?,?,?,?,?)");
 				$pre->bindParam(1, $agendamento->cod_paciente,PDO::PARAM_STR);
				$pre->bindParam(2, $data ,PDO::PARAM_STR);
				$pre->bindParam(3, $agendamento->tipo,PDO::PARAM_STR);
				$pre->bindParam(4, $agendamento->status,PDO::PARAM_STR);
				$pre->bindParam(5, $agendamento->cod_funcionario,PDO::PARAM_STR);
				$pre->execute();
				return $this->listarAgendamentosDataMedico($agendamento->cod_funcionario,$agendamento->data);	
 			}			
			
			return $this->listarTodosAgendamentos();
		}
			public function listarTodosAgendamentos(){
			$retorno = $this->db->query("select ag.cod_agendamento, m.cod_funcionario, ag.cod_paciente, pa.nome as nomePaciente, m.nome as nomeMedico, ag.data, ag.tipo, ag.status, ag.medico_cod_funcionario from agendamento ag inner join  paciente pa on ag.cod_paciente = pa.cod_paciente inner join medico m on ag.medico_cod_funcionario = m.cod_funcionario");
			$retorno->setFetchMode(PDO::FETCH_OBJ);
			return $retorno->fetchAll();
		}
		public function listarAgendamentos($nome){
			$retorno = $this->db->query("SELECT * FROM `{$this->tabela}` WHERE nome LIKE '%".$nome."%'");
			$retorno->setFetchMode(PDO::FETCH_OBJ);
			return $retorno->fetchAll();
		}
		public function listarAgendamentosDataMedico($codMedico,$dataEntrada){
			
			$data = $dataEntrada;
			$campo = explode("/",$data);
			$dia = $campo[0];
			$mes = $campo[1];
			$ano = $campo[2];
			$data = $ano."-".$mes."-".$dia;
			
			$retorno = $this->db->query("select ag.cod_agendamento, m.cod_funcionario, ag.cod_paciente, pa.nome as nomePaciente, m.nome as nomeMedico, ag.data, ag.tipo, ag.status, ag.medico_cod_funcionario from agendamento ag inner join  paciente pa on ag.cod_paciente = pa.cod_paciente inner join medico m on ag.medico_cod_funcionario = m.cod_funcionario WHERE ag.data ='".$data."' AND ag.medico_cod_funcionario ='".$codMedico."'");
			$retorno->setFetchMode(PDO::FETCH_OBJ);
			return $retorno->fetchAll();
		}
	}